<html xmlns="http://www.w3.org/1999/xhtml" 
      xmlns:ui="http://java.sun.com/jsf/facelets"
      xmlns:f="http://java.sun.com/jsf/core"
      xmlns:p="http://primefaces.org/ui"  
      xmlns:h="http://java.sun.com/jsf/html">
    <h:head>
        <title>
            <h:outputText value="Sistema de Seguridad de Aplicaciones - SSA" />
        </title>
    </h:head>
    <h:body>
        <ui:composition template="/WEB-INF/facelets/templates/mainLayout.xhtml">            
            <ui:define name="menuPrincipal">
                <ui:include src="/frmMenu.xhtml"/>
            </ui:define>
             <ui:define name="content" >
                 <p:blockUI block=":frmReporteConexionUsuario:panConexion" 
                            trigger=":frmReporteConexionUsuario:buscarButton" 
                            widgetVar="blkPanel">
                            Espere mientras se cargan los datos<br /> 
                    <p:graphicImage value="/resource/images/loading.gif" style="width: 65px; height: 50px;"/>
                </p:blockUI>
                 <h:form id="frmReporteConexionUsuario" onkeypress="if (event.keyCode == 13) return false;">
                     <p:growl showSummary="false" showDetail="true" id="msjFiltro"/>
                     <p:panel id="panConexion" header="Reporte Conexiones por Usuarios" >
                         <table style="width:100%;" >
                             <colgroup>
                                 <col width="60px;"/>
                                 <col width="440px;"/>
                                 <col width="60px;"/>
                                 <col width="440px;"/>
                                 <col width="80px;"/>
                                 <col width="80px;"/>
                             </colgroup>
                            <thead>
                                <tr>
                                    <td>
                                        <h:outputText value="Usuario:"/> 
                                    </td>
                                    <td colspan="5">
                                        <table>
                                            <tr>                                                
                                                <td>
                                            <h:inputHidden id="txtIdUsuario" rendered="#{reporteConexionesPorUsuariosController.selectedUsuario != null}" value="#{reporteConexionesPorUsuariosController.selectedUsuario.id}"/>
                                                    <p:inputText id="txtBusCodUsuario" value="#{reporteConexionesPorUsuariosController.selectedUsuario.COD_USUARIO}" style="width: 70px;" readonly="true">
                                                    </p:inputText>
                                                </td>
                                                <td>
                                                </td>
                                                <td>
                                                <p:inputText id="txtBusNomUsuario" value="#{reporteConexionesPorUsuariosController.selectedUsuario.NOMBRES}" style="width: 340px;" readonly="true">
                                                    </p:inputText>
                                                </td>
                                                <td>
                                                    <p:commandButton icon="ui-icon-search"  onclick="buscaUsuario.show()"
                                                                     actionListener="#{reporteConexionesPorUsuariosController.limpiarBusquedaUsuario}"
                                                                     update=":frmReporteConexionUsuario,:frmListarUsuarios:txtBusCodUsuario,:frmListarUsuarios:txtBusNomUsuario,:frmListarUsuarios:grdListadoUsuarios" 
                                                                     process="@this">
                                                    </p:commandButton>
                                                </td>
                                                <td></td>
                                            </tr>
                                        </table>
                                            
                                    </td>
                                </tr>
                                <tr>
                                    <td>
                                        <h:outputText value="Perfil:"/> 
                                    </td>
                                    <td>
                                        <p:selectOneMenu id="lstBusPerfil" value="#{reporteConexionesPorUsuariosController.busPerfil}"
                                                         style="width: 430px" disabled="#{reporteConexionesPorUsuariosController.selectedUsuario eq null}" >
                                            <f:selectItem itemValue="-99" itemLabel="(Todos)" />
                                            <f:selectItems var="varPerfil" 
                                                           value="#{reporteConexionesPorUsuariosController.lstPerfil}" 
                                                           itemValue="#{varPerfil.id}"
                                                           itemLabel="#{varPerfil.txtPerfil}" />
                                            <p:ajax event="change" listener="#{reporteConexionesPorUsuariosController.limpiarConexion}" update="panConexion" />
                                        </p:selectOneMenu>
                                    </td>                                    
                                    <td>
                                        <h:outputText value="Conexión:"/> 
                                    </td>
                                    <td>
                                        <p:selectOneMenu id="lstBusConexion" value="#{reporteConexionesPorUsuariosController.busConexion}"
                                                         style="width: 430px" disabled="#{reporteConexionesPorUsuariosController.busPerfil ne '-99'}" >
                                            <f:selectItem itemValue="#{null}" itemLabel="(Todos)" />
                                            <f:selectItems var="varCon" 
                                                           value="#{reporteConexionesPorUsuariosController.lstConexion}" 
                                                           itemValue="#{varCon.id}"
                                                           itemLabel="#{varCon.txtConexion}" />
                                        </p:selectOneMenu>                                    
                                    </td>
                                    <td colspan="2" >
                                        <table>
                                            <tr>
                                                <td style="text-align: right;">
                                                    <p:commandButton process="@this, txtIdUsuario, lstBusPerfil, lstBusConexion" 
                                                                     value="Procesar" icon="ui-icon-search"  
                                                                     id="buscarButton" update=":frmReporteConexionUsuario:grdConexiones, msjFiltro" 
                                                                     actionListener="#{reporteConexionesPorUsuariosController.search}"/> 
                                                </td>
                                                <td style="text-align: left;">
                                                    <p:commandButton style="margin-right: 5px;" value="Limpiar" 
                                                                     actionListener="#{reporteConexionesPorUsuariosController.limpiar}" 
                                                                     icon="ui-icon-cancel" update="@all">
                                                    </p:commandButton>
                                                </td>
                                            </tr>
                                        </table>
                                            
                                    </td>                                    
                                </tr>
                            </thead>  
                            <tbody>
                                <tr>
                                    <td colspan="6">
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="6">
                                        <p:menubar style="width: 99%;" id="menuOpciones">
                                            <p:menuitem value="Imprimir" icon="ui-icon-print" actionListener="#{reporteConexionesPorUsuariosController.print}" ajax="false">
                                            </p:menuitem>
                                        </p:menubar>
                                    </td>
                                </tr>
                                <tr>
                                    <td colspan="6">
                                        <div style="height: 420px; overflow-y: auto;overflow-x:hidden;">
                                        <p:dataTable id="grdConexiones" var="item" 
                                                     value="#{reporteConexionesPorUsuariosController.lstConexiones}" 
                                                     paginator="true" rows="10"
                                                     paginatorTemplate="{CurrentPageReport}  {FirstPageLink} {PreviousPageLink} {PageLinks} {NextPageLink} {LastPageLink} {RowsPerPageDropdown}"  
                                                     rowsPerPageTemplate="5,10,15,20"
                                                     emptyMessage="Filtro sin resultados. Ingrese un filtro para listar las conexiones por usuario."
                                                     rowIndexVar="index">
                                            <p:column width="30" style="text-align: center; width: 30px" >
                                                <f:facet name="header">
                                                    <h:outputText value="N°"/>
                                                </f:facet>
                                                <h:outputText value="#{index+1}"/>
                                            </p:column>
                                            <p:column width="100" style="text-align: center; width: 100px" >
                                                <f:facet name="header">
                                                    <h:outputText value="Código Usuario"/>
                                                </f:facet>
                                                <div style="text-align: center;" > 
                                                    <h:outputText value="#{item.COD_USUARIO}" >
                                                    </h:outputText>
                                                </div>          
                                            </p:column>
                                            <p:column style="text-align: left; width: 300px;">
                                                <f:facet name="header">
                                                    <h:outputText value="Nombre Completo"/>
                                                </f:facet>                                                
                                                <h:outputText value="#{item.NOMBRES}" />
                                            </p:column>
                                            <p:column style="text-align: center; width: 120px">
                                                <f:facet name="header">
                                                    <h:outputText value="Módulo"/>
                                                </f:facet>                                                
                                                <h:outputText value="#{item.TXT_MODULO}" />                                                
                                            </p:column>
                                            <p:column style="text-align: center; width: 150px">
                                                <f:facet name="header">
                                                    <h:outputText value="Perfil"/>
                                                </f:facet>                                                
                                                <h:outputText value="#{item.TXT_PERFIL}" />
                                            </p:column>
                                            <p:column style="text-align: center; width: 100px">
                                                <f:facet name="header">
                                                    <h:outputText value="Conexión"/>
                                                </f:facet>
                                                <h:outputText value="#{item.TXT_CONEXION}" />
                                            </p:column>
                                            <p:column style="text-align: center; width: 100px">
                                                <f:facet name="header">
                                                    <h:outputText value="Tipo Usuario"/>
                                                </f:facet>
                                                <h:outputText value="#{item.TIPO_USUARIO}" />
                                            </p:column>                                 
                                        </p:dataTable>
                                        </div>
                                    </td>
                                </tr>
                            </tbody>
                        </table>
                     </p:panel>
                 </h:form>
                 
                 <p:dialog id="dlgBuscaUsuario" modal="true" header="Búsqueda de Usuario" 
                          widgetVar="buscaUsuario" resizable="false"
                          width="680"  height="350"
                          appendToBody="true"
                          showEffect="clip" hideEffect="fold">
                    <ui:include src="frmListarUsuarios.xhtml" />
                    <p:ajax event="close" update=":frmListarUsuarios"/> 
                </p:dialog>
             </ui:define>
        </ui:composition>
    </h:body>
</html>